Kapitel 25 Entwickeln von Steuerelementen
25.1 Einführung
 
Die Klassenbibliothek des .NET Frameworks bietet eine große Auswahl von Steuerelementen an, aus denen bausteinartig die Benutzeroberflächen der Forms gestaltet werden. Trotz der Vielfältigkeit können die standardmäßigen Steuerelemente aber nicht allen Ansprüchen gerecht werden, und Sie werden ein Steuerelement benötigen, das nicht in der Bibliothek enthalten ist. Grundsätzlich haben Sie dann zwei Möglichkeiten:
|
Sie erwerben ein passendes Steuerelement bei einem anderen Hersteller. Das Angebot auf diesem Marktsegment ist inzwischen sehr groß, und möglicherweise finden Sie auch ein Steuerelement, das Ihre Anforderungen genau erfüllt. Allerdings sind die Preise oft auch verhältnismäßig hoch. |
|
Sie können auch ein Steuerelement selbst entwickeln und es exakt an Ihre eigenen Bedürfnisse anpassen. |
In diesem Kapitel werde Sie lernen, eigene Steuerelemente zu entwickeln. Die Thematik ist jedoch so komplex, dass sie ein eigenes Buch füllen könnte. Wir können deswegen nur die wichtigsten Aspekte erörtern, die aber ein ausreichendes Fundament bieten, um eigene Vorstellungen zu realisieren.
25.1.1 Entwicklungsszenarien
 
Wenn Sie ein neues Steuerelement entwerfen, müssen Sie zuerst festlegen, welche programmiertechnischen Mittel dazu eingesetzt werden sollen. Unter .NET gibt es drei unterschiedliche Szenarien:
1.
Sie erweitern ein existierendes Steuerelement mit spezifischen Funktionalitäten durch Ableitung. Ähnlich, wie Sie eine benutzerdefinierte Form erstellen, die aus Form abgeleitet ist, können Sie auch ein vorhandenes Steuerelement ableiten, um daraus eine eigene Klasse zu erstellen. Sie brauchen die abgeleitete Klasse nur um die Fähigkeiten zu erweitern, die Sie von Ihrem Steuerelement erwarten. So ließe sich beispielsweise ohne allzu viel Aufwand eine Textbox in der Weise spezialisieren, dass das neue Steuerelement nur noch Zahlen im Eingabefeld akzeptiert.
| 2. |
Sie kombinieren mehrere existierende Steuerelemente zu einem neuen. Dazu stellt die Klasse UserControl einen Container bereit, der einem Panel ähnelt. Diesem Container lassen sich mehrere Steuerelemente aus der Toolbox hinzufügen, die in Kombination das neue Steuerelement bilden. Die Eigenschaften und Methoden der im UserControl enthaltenen Steuerelemente können offen gelegt oder ausgeblendet werden. UserControl ist ein Steuerelement und von Control abgeleitet. Es veröffentlicht daher seinerseits bereits alle von der Basis geerbten Member. |
|
|
|
| 3. |
Die beiden vorgenannten Entwicklungsmöglichkeiten basierten auf vorhandenen Steuerelementen. Wollen Sie ein vollkommen neues Steuerelement entwickeln, müssen Sie die Klasse Control ableiten. Das bedeutet aber auch, dass Sie die grafische Darstellung des Steuerelements selbst in die Hand nehmen müssen, da es dafür keine Basiskomponenten gibt. Wenn Sie bedenken, dass alleine schon die Aktivierung eines Steuerelements eine Änderung der Darstellung zur Laufzeit bewirkt, können Sie sich vermutlich vorstellen, dass der Aufwand beträchtlich ist. |
|
|
|
Für welche Alternative Sie sich entscheiden, hängt letztendlich im entscheidenden Maße von den Anforderungen an das neue Steuerelement ab. Wann immer es aber möglich ist, sollten Sie auf existierende und damit letztendlich auch auf bewährte Komponenten zurückgreifen. Sie ersparen sich damit nicht nur Entwicklungszeit, sondern auch die Zeit ausgiebiger Tests.
25.1.2 Testen eines Steuerelements
 
Ein Steuerelement, das Sie entwickelt haben, möchten Sie vermutlich auch testen. Prinzipiell können Sie
|
das neue Steuerelement in einer anderen Windows-Anwendung testen, indem Sie es aus der Toolbox in die Form ziehen, oder |
|
Sie starten den Testcontainer für Benutzersteuerelemente |
Das neue Steuerelement in einem dafür angepassten Testcontainer können Sie nur testen, wenn Sie sich für die Projektvorlage Windows-Steuerelementbibliothek entschieden haben. Dieser wird geöffnet, sobald Sie das Projekt starten. In Abbildung 25.1 sehen Sie den Testcontainer. Er zeigt das Steuerelement EllipseLabel, das wir in Abschnitt 25.2 entwickeln werden.
 Hier klicken, um das Bild zu vergrößern
Abbildung 25.1 Testcontainer für Benutzersteuerelemente
Ein wenig enttäuschend gibt sich der Testcontainer. Sie können in diesem zwar die Eigenschaften des Benutzersteuerelements einstellen und sehen das Ergebnis in einem Vorschaubereich. Damit sind auch schon die Möglichkeiten ausgeschöpft. Um das Verhalten des neuen Controls zur Laufzeit zu analysieren, ist der Testcontainer denkbar ungeeignet. Sie werden dann um die Bereitstellung eines Testprojekts nicht herumkommen. |